Merge links on nodes: create super nodes#1398
Conversation
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
| if (link_connected[0] == 0 || link_connected[1] == 0) { | ||
| return Idx2D{.group = disconnected, .pos = disconnected}; | ||
| } |
There was a problem hiding this comment.
I'm thinking about this edge case:
If we have a link that's disconnected on one side, but it's not part of any other super node, and its connected side is then connected to a node to an active line, what will happen to that link? It clearly isn't part of a supernode so it will be excluded from the link solver algorithm, but it will also be excluded from the regular topology. What happens then? Is this expected? We still have to have output for it on the connected side.
There was a problem hiding this comment.
it should not be loaded. partially connected branches do contribute to the diagonal elements of the Ybus, but after this whole merging-links-on-nodes ordeal is finished, one of the key assumptions is that links have vanishing impedance and reactance relative to the rest of the grid, so they should get null output.
However, you're right in that that differs from the existing output, in which we assume fixed finite impedance.
@nitbharambe and/or @TonyXiang8787 can you confirm that this is indeed correct?
There was a problem hiding this comment.
Single-side connected links should not participate on calculations. For the output, if the node at the connected side is energized, the link should also have the output energized=1. Otherwise energized=0. All other quantities (power, current, etc) should be zero.
This is exactly the same behavior as current links.
| REQUIRE(topo_node_mapping.n_user_nodes() == comp_topo.n_node); | ||
| CHECK(topo_node_mapping.mapping() == IdxVector{0, 0, 1}); | ||
| } | ||
| SUBCASE("Disconnected link => not remapped") { |
There was a problem hiding this comment.
The mentioned edge case in my previous comment is similar to this, however, can you add it here as well too? Just to make sure the mapping handles it well.
There was a problem hiding this comment.
that one is tested and handled correctly, right?
and later on in SUBCASE("Disconnected link => not included in user links") it is explicitly tested that they are disconnected in create_topological_nodes
|
no new comments from me @mgovers |
…upernodes.hpp Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com> Co-authored-by: Nitish Bharambe <78108900+nitbharambe@users.noreply.github.com> Signed-off-by: Martijn Govers <martygovers@hotmail.com>
…alculation_parameters.hpp Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com> Signed-off-by: Martijn Govers <martygovers@hotmail.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
|
|
Hey @mgovers I would like to understand the concept of super node what is it mathematically are you simply merging the switches or links with low impedance or changing something in jacobian |
the intention is to merge the nodes that are connected by switches and links into one super node, by assuming that links and switches have infinitesimal impedance, and therefore vanishing when compared against normal impedances. this effectively means that we're splitting up the calculations into a calculation at macro scale (basically the net grid) and separately one at micro scale (within each such supernode). the jacobian then effectively changes structure as a result, because we have less nodes in the net grid. in particular, the unstable sections of the jacobian disappear from the equations. for the micro-grid within a supernode, we make the same assumption that we currently make in |
are you trying to say that you are still using the impedance of the switch and link rather than completely ignoring it and in order to do so you are creating another micro jacobian and using mean of all impedances in that switch or line? To this end I would like to point out that this mean value will still be quite small and can very well lead to instabilities, I have some suggestions
|
NOTE: we do not model lines with low impedance in this way. lines with low impedance are still treated the same as the current PGM does.
Can you elaborate? (or maybe @nitbharambe you can jump in here?) Our current intention is to completely neglect the voltage drop over links while aggregating any voltage measurements on the affected nodes (Kalman filter). We also have not supported power and current sensors on links from the start.
This is i guess similar to what we do |
|
@mgovers I understand now , so using the micro logic is not solving the problem of low impedance on links, switches, lines, but thats ok because this is primarily an issue for the transmission state estimation. |
|
Exactly. Maybe out of personal interest, can you explain in what way transmission grids differ from distribution grids here? |
Voltage drop between? Maybe the term "impedance" is being misrepresented. Summarizing whole feature: We basically dissolve links into a single "supernode". Then perform usual PF or SE only on the higher level grid without any link components. This leaves us with voltages and injections from/to normal nodes and the supernodes. Hence we do away with the old way of assuming link with low impedance and resolve the stability issue. |
Absolutely, so in distribution grids the impedance has a lower X/R ratio in comparision to the transmission grid and is usually also less metered at switches or bus couplers. |
voltage drop on the ends of switches is always there in reality, switch and links should have drops even if very very very low. |
|
@TonyXiang8787 i think your input is also valuable here. |
|
Hi @AnkurArohi, Thanks for your question and fruitful discussion. While many points have been addressed by @nitbharambe and @mgovers, I try to elaborate a bit at conceptual level. Purpose of link in PGMLink in PGM is a conceptual component. It allows user to create a node-to-node interconnection where the user wish ignore the impedance and voltage drop. Realistically, this basically means switches, inter-bus couplings, or any short conductors. If user wish to model these interconnection and ignore the impedance/voltage drop, they should use On the other hand, if user does want to model the (real measured) impedance of a switch (or bus coupling, or similar), they should model it as a Current implementation of link in PGMIn current internal implementation, the link is just modeled as a super small impedance and participate PF, SE, and SC calculations as a regular line. This is less ideal, but works in many cases. Sometimes it results in numerical instability due to the super small impedance, thus super large admittance. However, if you try to put power/current sensor in links for SE, the calculation will not converge due to ill-conditioned system. So we explicitly forbid sensors on links. This is a limitation in PGM. And yes, for your TSO related use cases, where measurements are on bus-coupling, or switches, those measurements cannot be properly represented in PGM due to this limitation. Proposed new feature: merging nodes into super nodeSo the new feature #35 is about to merge nodes which are connected by links, into super node. And links disappear entirely in the actual PF, SE, and SC calculations. The mathematical core does not see links at all. After the calculation, we still need to put some results into links, that's the micro-grid part @mgovers and @nitbharambe are referring. It is merely a post processing to distribute power/current into links. NOTE: since links are removed entirely in mathematical core, there can still be no sensors on links. This means your TSO use-case (measurement on bus-coupling) will still not be calculated by PGM. Further future feature: sensors on linksAfter #35 is done, we will further think about if and how it is possible to model sensors on links for SE. My gut feeling is that this should still be possible. But that require a long-term thinking and more mathematical consideration. This is a long-term ambition which will only be considered after #35. |
|
@TonyXiang8787 that makes my guess clear this here is a post processing result handling part and also the concept of using super node does not solve the inherent problem of impedance less or extremely low impedance based lines and switches with measurements. The industry needs those kind of ideas and mathematical solution which would handle these scenarios with precision and in case that we want to say PGM is also the tool for TSO or mixed DSO TSO networks. (we talked about this shortly at the summit) Great work happy to share if needed |



Part of #35
This actually creates the topological nodes from the regular nodes